import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css'; // 修改路径
import 'font-awesome/css/font-awesome.min.css';
import axios from 'axios';
import qs from 'qs';
import {
    getCurDate,
    setSessionStorage,
    getSessionStorage,
    removeSessionStorage,
    setLocalStorage,
    getLocalStorage,
    removeLocalStorage
} from './common.js';




const app = createApp(App);
app.use(ElementPlus);
app.config.productionTip = false;

// 设置axios的基础url部分
//axios.defaults.baseURL = 'http://localhost:8080/';


// 设置axios的基础url部分
axios.defaults.baseURL = 'http://localhost:14000/';

//设置响应拦截器
axios.interceptors.response.use(function(response){
    if(response.data.code==403){
        location.href = '/error403';
    }
    return response;
},function(error){
    console.log(error);
    return Promise.reject(error);
});

// 将axios挂载到vue实例上，使用时就可以 this.$axios 这样使用了
app.config.globalProperties.$axios = axios;
app.config.globalProperties.$qs = qs;
app.config.globalProperties.$getCurDate = getCurDate;
app.config.globalProperties.$setSessionStorage = setSessionStorage;
app.config.globalProperties.$getSessionStorage = getSessionStorage;
app.config.globalProperties.$removeSessionStorage = removeSessionStorage;
app.config.globalProperties.$setLocalStorage = setLocalStorage;
app.config.globalProperties.$getLocalStorage = getLocalStorage;
app.config.globalProperties.$removeLocalStorage = removeLocalStorage;



// router.beforeEach((to, from, next) => {
//   let user = sessionStorage.getItem('user');
//   // 除了登录、注册、首页、商家列表、商家信息之外，都需要判断是否登录
//   if (
//     !(
//       to.path == '/' ||
//       to.path == '/index' ||
//       to.path == '/businessList' ||
//       to.path == '/businessInfo' ||
//       to.path == '/login' ||
//       to.path == '/register'
//     )
//   ) {
//     if (user == null) {
//       router.push('/login');
//       location.reload();
//     }
//   }
//   next();
// });

router.beforeEach((to, from, next) => {
    let user = sessionStorage.getItem('user');
    // 除了登录、注册、首页、商家列表、商家信息之外，都需要判断是否登录
    if (
        !(
            to.path == '/' ||
            to.path == '/index' ||
            to.path == '/businessList' ||
            to.path == '/businessList2' ||
            to.path == '/businessInfo' ||
            to.path == '/login' ||
            to.path == '/register'||
            to.path == '/error403'
        )
    ) {
        if (user == null) {
            router.push('/login');
            location.reload();
        }
        }
        next();
});


//app.use(router).mount('#app');
const mountedApp = app.use(router);
mountedApp.mount('#app');


